package rcs

// 输送线请求参数
type LineQueryParam struct {
	Locations []string // 输送线的位置数组
	TaskNo    string   // 当前任务编号
}

// 提升机及提升机等待位请求参数
type LiftQueryParam struct {
	Location string // 站点坐标
	TaskNo   string // 当前任务编号
}

// 提升机|输送线移动请求参数
type MoveQueryParam struct {
	SiteGrid          string // 提升机坐标
	LoadMode          int    // 载体模式，1为载货模式，2为载车模式，3为空载模式，4为调试模式
	StartFloor        int    // 起始楼层
	StartLocationType int    // 起始位置，货物所在起始层的输送线位置，0为提升机内部，1为提升机左侧输送线位置，2为提升机右侧输送线位置
	EndFloor          int    // 到达楼层
	EndLocationType   int    // 目标位置，货物所在目标层的输送线位置，0为提升机内部，1为提升机左侧输送线位置，2为提升机右侧输送线位置
	TaskNo            string // 当前任务编号
}

// rcs任务结束回调
type RcsCallBack struct {
	Status   int    // 任务状态：1,成功 2,异常 3,取消, 7,顶起离开
	TaskCode string // 任务编号
	Vid      int    // 小车编号
	Position string // 当前位置坐标
	ErrMsg   string // 异常时的错误信息
}

/*// 提升机指令请求参数
type LiftStruct struct {
	SiteGrid          string // 提升机坐标
	LoadMode          int    // 载体模式，1为载货模式，2为载车模式，3为空载模式，4为调试模式
	StartFloor        int    // 起始楼层，仅载货模式时为起始层数，其他模式为00
	StartLocationType int    // 起始位置，货物所在起始层的输送线位置，0为提升机内部，1为提升机左侧输送线位置，2为提升机右侧输送线位置，仅载货模式时指定起始位置，其他模式时为0
	EndFloor          int    // 到达楼层
	EndLocationType   int    // 目标位置，货物所在目标层的输送线位置，0为提升机内部，1为提升机左侧输送线位置，2为提升机右侧输送线位置
}*/

// 提升机指令请求参数
type LiftStruct struct {
	ParentTaskNo  string // 主任务编号，即调rcs时传入的那个任务号。
	TaskNo        string // 任务编号，由rcs传过来的任务号，任务结束回调时要用这个
	SiteGrid      string // 提升机坐标
	LoadMode      int    // 载体模式，1为载货模式，2为载车模式，3为空载模式，4为调试模式
	StartSiteGrid string // 起始坐标，仅载货模式时需设置，其他模式均为00
	EndSiteGrid   string // 到达坐标
}

// 提升机锁定|解锁
type LockLift struct {
	ActionType string // 类型，LOCKED锁定、UNLOCKED 解锁
	SiteGrid   string // 站点编号
	TaskNo     string // 当前任务号
}
